進捗テーブル
table: 理解度No5 解けた4 解けたけど要復習3 解説が完全に理解できる
n = int(input())
s = [input() for _ in range(n)]
strings = set()
anagrams = {}
for i in s:
sortedString = ''.join(sorted(i))
if (sortedString in strings):
try:
anagrams[sortedString] += 1
except KeyError:
anagrams[sortedString] = 1
else:
strings.add(sortedString)
ans = 0
for i in anagrams.values():
ans += (i * (i+1)) // 2
print(ans)
n = int(input())
s = [input() for _ in range(n)]
sortedS = []
for i in s:
sortedS.append(''.join(sorted(i)))
setS = set(sortedS)
ans = 0
for i in setS:
anagramCounts = sortedS.count(i)
ans += (anagramCounts * (anagramCounts - 1)) // 2
print(ans)